iOS开发调试手册

调试基础

利用控制台输出的错误信息



穴居人调试

Log

用于调试的字面表达

字面 类型
#file String 表达式所在的文件名
#line Int 表达式所在的行号
#column Int 表达式开始的列号
#function String 表达式声明的名称

LLDB

设置断点

  • 单击取消
  • 拖到外边删除
  • Control + Click + 断点标记

在变量视图中查看变量

空格查看变量具体内容

调试栏

  • 继续程序执行: 恢复程序的正常执行(到下一个断点)
  • Step Over: 执行一行代码,并且不进入任何函数调用
  • Step Into: 执行下一行代码,包括进入一个函数调用
  • Step out: 继续函数执行直到跳出当前方法或函数调用

添加动作

有时候,你希望知道某段代码是否被执行了,但是又不希望程序断掉。比方说,判断循环有没有正确执行。

异常断点

有时候,程序崩溃,但是不知道在哪崩溃?
添加异常断点,可以帮助你段到崩溃的位置

符号断点

符号断点是是由函数(方法)名,也就是”符号“指定的断点。符号断点是在函数被调用的时候触发的。

一般情况下用不到,但是在查看一些系统方法什么时候被触发时可以用到。比方说,要知道ViewController的loadView是在什么时候执行的。

LLDB常用命令

命令 说明
po 打印
p 详细打印
step 单步
expr 添加代码,修改变量
continue 继续执行
bt 堆栈信息